package org.dawnframework.beans.factory.config;

/**
 * Bean定义
 * @author baiml
 * @since 0.1
 */
public interface BeanDefinition {
    /**
     * 是否是懒加载
     * @return
     */
    boolean isLazy();



    /**
     * 获取作用域名称
     * @return
     */
    String getScopeName();

    /**
     * 是否是单例类
     * @return
     */
    boolean isSingleton();

    /**
     * 是否是原型类
     */
    boolean isPrototype();

    /**
     * 是否是抽象类
     */
    boolean isAbstract();

    /**
     *
     * @param beanClassName
     */
    void setBeanClassName(String beanClassName);

    /**
     *获取BeanClass名称
     * @return
     */
    String geBeanClassName();

    /**
     * 设置作用域名称
     * @param scopeName
     */
    void setScopeName(String scopeName);



}
